home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1996 #6 / Amiga Plus CD - 1996 - No. 06.iso / pd / spiele / circle30bpl11 / autorun < prev    next >
Text File  |  1992-09-02  |  3KB  |  93 lines

  1. #!/bin/sh
  2. #
  3. # CircleMUD 3.0 autorun script
  4. # Contributions by Fred Merkel, Stuart Lamble, and Jeremy Elson
  5. # Copyright (c) 1996 The Trustees of The Johns Hopkins University
  6. # All Rights Reserved
  7. # See license.doc for more information
  8. #
  9. #############################################################################
  10. #
  11. # This script can be used to run CircleMUD over and over again (i.e., have it
  12. # automatically reboot if it crashes).  It will run the game, and copy some
  13. # of the more useful information from the system logs to the 'log' directory
  14. # for safe keeping.
  15. #
  16. # You can control the operation of this script by creating and deleting files
  17. # in Circle's root directory, either manually or by using the 'shutdown'
  18. # command from within the MUD.
  19. #
  20. # Creating a file called .fastboot makes the script wait only 5 seconds
  21. # between reboot attempts instead of the usual 60.  If you want a quick
  22. # reboot, use the "shutdown reboot" command from within the MUD.
  23. #
  24. # Creating a file called .killscript makes the script terminate (i.e., stop
  25. # rebooting the MUD).  If you want to shut down the MUD and make it stay
  26. # shut down, use the "shutdown die" command from within the MUD.
  27. #
  28. # Finally, if a file called pause exists, the script will not reboot the MUD
  29. # again until pause is removed.  This is useful if you want to turn the MUD
  30. # off for a couple of minutes and then bring it back up without killing the
  31. # script.  Type "shutdown pause" from within the MUD to activate this feature.
  32. #
  33.  
  34. # The port on which to run the MUD
  35. PORT=4000
  36.  
  37. # Default flags to pass to the MUD server (see running.doc for a description
  38. # of all flags).
  39. FLAGS='-q'
  40.  
  41. #############################################################################
  42.  
  43. while ( : ) do
  44.  
  45.   DATE=`date`
  46.   echo "autorun starting game $DATE" >> syslog
  47.   echo "running bin/circle $FLAGS $PORT" >> syslog
  48.  
  49.   bin/circle $FLAGS $PORT >> syslog 2>&1
  50.  
  51.   tail -30 syslog > syslog.CRASH
  52.  
  53.   fgrep "self-delete" syslog >> log/delete
  54.   fgrep "death trap" syslog >> log/dts
  55.   fgrep "killed" syslog >> log/rip
  56.   fgrep "Running" syslog >> log/restarts
  57.   fgrep "advanced" syslog >> log/levels
  58.   fgrep "equipment lost" syslog >> log/rentgone
  59.   fgrep "usage" syslog >> log/usage
  60.   fgrep "new player" syslog >> log/newplayers
  61.   fgrep "SYSERR" syslog >> log/errors
  62.   fgrep "(GC)" syslog >> log/godcmds
  63.   fgrep "Bad PW" syslog >> log/badpws
  64.  
  65.   rm log/syslog.1
  66.   mv log/syslog.2 log/syslog.1
  67.   mv log/syslog.3 log/syslog.2
  68.   mv log/syslog.4 log/syslog.3
  69.   mv log/syslog.5 log/syslog.4
  70.   mv log/syslog.6 log/syslog.5
  71.   mv syslog       log/syslog.6
  72.   touch syslog
  73.  
  74.   if [ ! -r .fastboot ]; then
  75.     sleep 60
  76.   else
  77.     rm .fastboot
  78.     sleep 5
  79.   fi
  80.  
  81.   if [ -r .killscript ]; then
  82.     DATE=`date`;
  83.     echo "autoscript killed $DATE"  >> syslog
  84.     rm .killscript
  85.     exit
  86.   fi
  87.  
  88.   while [ -r pause ]; do
  89.     sleep 60
  90.   done
  91.  
  92. done
  93.